package com.whfc.fuum.redis;

import com.whfc.fuum.dto.SysRuleDTO;

import java.util.List;

/**
 * @Description: 用户权限信息缓存
 * @author: xugcheng
 * @version: 1.0
 * @date: 2021-06-19 15:22
 */
public interface SysUserRedisDao {

    /**
     * 缓存用户权限信息
     *
     * @param userId
     * @param platform
     * @param ruleDTOS
     */
    void setUserRules(Integer userId, Integer platform, List<SysRuleDTO> ruleDTOS);

    /**
     * 查询用户权限信息
     *
     * @param userId
     * @param platform
     * @return
     */
    List<SysRuleDTO> getUserRules(Integer userId, Integer platform);

    /**
     * 删除用户权限缓存
     *
     * @param userId
     */
    void deleteUserRules(Integer userId);

    /**
     * 删除用户权限缓存
     *
     * @param userIds
     */
    void deleteUserRules(List<Integer> userIds);

    /**
     * 设置用户组织机构ID列表
     *
     * @param userId     用户ID
     * @param deptIdList 组织机构ID列表
     */
    void setDeptIds(Integer userId, List<Integer> deptIdList);

    /**
     * 获取用户组织机构ID列表
     *
     * @param userId 用户ID
     * @return 用户组织机构ID列表
     */
    List<Integer> getDeptIds(Integer userId);

    /**
     * 删除用户组织机构ID列表
     *
     * @param userId 用户ID
     */
    void deleteUserDeptIds(Integer userId);

    /**
     * 批量删除用户组织机构ID列表
     *
     * @param userIds 用户ID列表
     */
    void deleteUserDeptIds(List<Integer> userIds);

    /**
     * 删除用户组织机构ID列表
     */
    void deleteUserDeptIds();
}
